function HandlePAdminDesignerTaskUndo(gui, user, date, options, data) {
  this._gui = gui;
  this._user = user;
  this._date = date;
  this._options = options;
  this._data = data;
  
  this._page = 1;
  this._order = 't.retouched_date';
  this._queue = 'ASC';
  this._popupBox = new ModulePopupBox();

  this._createElements();
};

HandlePAdminDesignerTaskUndo.prototype._createElements = function() {
  var tr, td, _self = this;
  DOMUtils.removeTableRows(this._gui.mains, 1);
  DOMUtils.removeChildElements(this._gui.page);

  if (this._data[0].total > this._data[0].size) {
    //*** Here ***
    new ModulePagination(document, this._gui.page, 500, 50, this._user, this._date, {page: this._data[0].page, total: this._data[0].total, limit: this._data[0].size, callbackFunc: function(page) { _self._page = page; _self._retrieveTasks.call(_self); }, context: this});
  }
  
  
  if (this._data[0].data.length == 0) {
    tr = this._gui.mains.insertRow(-1);
    td = tr.insertCell(-1);
    td.colSpan = 4;
    td.style.height = '24px';
    td.style.textAlign = 'left';
    td.style.paddingLeft = '5px';
    td.appendChild(document.createTextNode('n/a'));
  }

  MiscUtils.sort(this._data[0].data, ['retouched_date']);
  for(var i = 0, il = this._data[0].data.length; i < il; i++) {
    var task = this._data[0].data[i];
    tr = this._gui.mains.insertRow(-1);
    tr.style.backgroundColor = (tr.rowIndex % 2 == 0) ? '#ececec' : '#fff';
    
    td = tr.insertCell(-1);
    td.style.borderRight = 'solid 1px #bbb';
    td.style.height = '24px';
    td.style.textAlign = 'left';
    td.style.padding = '0 5px';
    td.appendChild(document.createTextNode((task.branch) ? task.branch : '-'));
    
    td = tr.insertCell(-1);
    td.style.borderRight = 'solid 1px #bbb';
    td.style.height = '24px';
    td.style.textAlign = 'left';
    td.style.padding = '0 5px';
    td.appendChild(document.createTextNode((task.customer_id != 0) ? PPublishUtils.customerId(task.customer_id) : '-'));
    
    td = tr.insertCell(-1);
    td.style.padding = '0 5px';
    td.style.borderRight = 'solid 1px #bbb';
    td.appendChild(document.createTextNode(SimpleDate.format(SimpleDate.fromStamp(task.retouched_date))));
    
    td = tr.insertCell(-1);
    td.style.padding = '0 5px';
    td.style.borderRight = 'solid 1px #bbb';
    td.appendChild(document.createTextNode((task.designer) ? task.designer : '-'));
    
  }
};

HandlePAdminDesignerTaskUndo.prototype._retrieveTasks = function(pos) {
  var _self = this;
  var base = this._data['cond'];
  var args = '&c=' + JSON.stringify(base) + '&ts=' + JSON.stringify(this._data['table_select']) + '&tj=' + JSON.stringify(this._data['table_join']) + '&o=' + this._order + '&q=' + this._queue + '&p=' + this._page;
  new RequestUtils()._mysql('searchtasks', args, function(result, params) { _self._data['0'] = result;
                                                                            _self._createElements();
                                                                          }, {pos: (pos) ? pos : null});
};
